home *** CD-ROM | disk | FTP | other *** search
- N EGAITAL.COM
- A 100
- CLD
- MOV BH,02 ; Get 8x14 font
- MOV AX,1130
- INT 10 ; Returns ES:BP
- PUSH ES
- POP DS
- MOV SI,BP ; DS:SI points to font
- PUSH CS
- POP ES
- MOV DI,0159 ; ES:DI = destination
- MOV BX,0100 ; Number of characters
- MOV CL,03 ; MAINLOOP:
- CALL 0147 ; Call SHIFTRIGHT
- CALL 0147 ; Call SHIFTRIGHT
- CALL 0147 ; Call SHIFTRIGHT
- CALL 0150 ; Call SHIFTLEFT
- CALL 0150 ; Call SHIFTLEFT
- CALL 0150 ; Call SHIFTLEFT
- CALL 0150 ; Call SHIFTLEFT
- DEC BX ; Decrement char count
- JNZ 0114 ; Loop if not zero
- MOV BP,0159 ; Point to font
- SUB DX,DX ; Starting character
- MOV CX,0100 ; Character count
- MOV BH,0E ; Bytes per character
- CS:
- MOV BL,[005D]
- AND BL,03 ; Block to load
- MOV AX,1100 ; Load font
- INT 10
- INT 20 ; Terminate
- LODSW ; SHIFTRIGHT:
- SHR AL,CL
- SHR AH,CL
- STOSW ; and store
- DEC CL
- RET
- LODSW ; SHIFTLEFT:
- SHL AL,CL
- SHL AH,CL
- STOSW ; and store
- INC CL
- RET
-
- R CX
- 59
- W
- Q
-